<%#
# Redmine plugin for Document Management System "Features"
#
# Copyright (C) 2011-15 Karel Picman <karel.picman@kontron.com>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
%>

<% all_assignments = DmsfWorkflowStepAssignment.joins(
  'LEFT JOIN dmsf_workflow_step_actions ON dmsf_workflow_step_assignments.id = dmsf_workflow_step_actions.dmsf_workflow_step_assignment_id').where(
  'dmsf_workflow_step_assignments.user_id = ? AND dmsf_workflow_step_actions.id IS NULL', @user.id).all %>
<% assignments = Array.new %>
<% all_assignments.each do |assignment| %>  
  <% if assignment.dmsf_file_revision.file.last_revision &&
      !assignment.dmsf_file_revision.file.last_revision.deleted &&
      (assignment.dmsf_file_revision.workflow == DmsfWorkflow::STATE_WAITING_FOR_APPROVAL) && 
      (assignment.dmsf_file_revision == assignment.dmsf_file_revision.file.last_revision) %>
    <% assignments << assignment %>
  <% end %>
<% end %>
<h3><%= l(:label_my_open_approvals)%> (<%= assignments.count %>)</h3>
<% if assignments.any? %>
  <%= form_tag({}) do %>
    <table class="list">
      <thead>
        <tr>    
          <th><%=l(:field_project)%></th>
          <th><%=l(:field_label_dmsf_workflow)%></th>
          <th><%=l(:label_document)%></th>
          <th><%=l(:field_folder)%></th>
        </tr>
      </thead>
      <tbody>
        <% assignments.each do |assignment| %>
          <tr id="assignment-<%= assignment.id %>" class="<%= cycle('odd', 'even') %>">
            <td class="project">
              <% if assignment.dmsf_file_revision.file.project %>
                <%= link_to_project(assignment.dmsf_file_revision.file.project) %>
              <% end %>
            </td>
            <td>
              <% if assignment.dmsf_workflow_step && assignment.dmsf_workflow_step.dmsf_workflow %>                
                  <%= link_to(h(assignment.dmsf_workflow_step.dmsf_workflow.name), 
                    edit_dmsf_workflow_path(assignment.dmsf_workflow_step.dmsf_workflow)) %>                
              <% end %>
            </td>
            <td class="title">
              <% if assignment.dmsf_file_revision && assignment.dmsf_file_revision.file %>
                <%= link_to(h(assignment.dmsf_file_revision.title), 
                  {:controller => 'dmsf_files', :action => :show, :id => assignment.dmsf_file_revision.file }) %>                          
              <% end %>
            </td>
            <td class="title">
              <% if assignment.dmsf_file_revision %>
                <% if assignment.dmsf_file_revision.file.folder %>
                  <%= link_to(h(assignment.dmsf_file_revision.file.folder.title), 
                    {:controller => 'dmsf', :action => 'show', :id => assignment.dmsf_file_revision.file.project, :folder_id => assignment.dmsf_file_revision.file.folder}) %>
                <% elsif assignment.dmsf_file_revision.file.project %>
                  <%= link_to(l(:link_documents), {:controller => 'dmsf', :action => 'show', :id => assignment.dmsf_file_revision.file.project }) %>                  
                <% end %>
              <% end %>
            </td>
          </tr>
        <% end %>
      </tbody>
    </table>
  <% end %>
<% end %>